Git Merge Conflicts

शाखाओं का विलय करते समय विवादों को प्रबंधित और हल करें

Merge Conflict क्या हैं?

मर्ज विरोध तब होता है जब दो शाखाएँ एक प्रतिलिपि के एक ही भाग को प्रतिस्थापित कर देती हैं।

Git तय नहीं कर सकता कि कौन से परिवर्तन रखे जाएं, इसलिए आपको चुनना होगा।

मर्ज पूरा करने से पहले आपको विवाद का समाधान करना होगा।

मर्ज विवाद क्यों होते हैं?

मर्ज विरोध आमतौर पर तब होता है जब आप उन शाखाओं को मर्ज करते हैं जिन्होंने एक ही कॉपी में समान पंक्तियों को बदल दिया है।

सहयोगी परियोजनाओं या दीर्घकालिक शाखाओं पर काम करते समय यह आम बात है।

1

मर्ज विवादों को कैसे खोजें और हल करें

यदि किसी शाखा को मर्ज करते समय परस्पर विरोधी परिवर्तन होते हैं, तो Git रुक जाता है और फ़ाइलों को विरोध के साथ चिह्नित करता है।

उदाहरण: एक शाखा का विलय करें

git merge feature-branch

यदि कोई विरोध है, तो Git आपको बताएगा कि कौन सी फ़ाइलें प्रभावित हैं।

2

देखें कि किन फ़ाइलों में विरोध है

देखें कि किन फ़ाइलों पर आपको ध्यान देने की आवश्यकता हैgit statusउपयोग:

उदाहरण: स्थिति जांचें

git status
3

अंतर देखें

देखें कि संघर्ष को कैसे हल किया जाए, यह तय करने में मदद के लिए क्या बदलाव आया हैgit diffउपयोग:

उदाहरण: मतभेद पहचानें

git diff
4

परस्पर विरोधी मार्कर संपादित करें

विरोधाभासी फ़ाइल खोलें. आपको इस तरह के हिस्से मिलेंगे:

विरोधाभासी मार्कर

<<<<<<<< सिर यहां आपके परिवर्तन हैं ======= अन्य शाखा परिवर्तन >>>>>>> सुविधा-शाखा

आप जो चाहते हैं उसे रखने के लिए फ़ाइल को संपादित करें, फिर विरोध चिह्न हटा दें (<<<<<<<, =======, >>>>>>>) निकालना।

5

सही के रूप में चिन्हित करो

फ़ाइल को ठीक करने के बाद, इसे हल के रूप में चिह्नित करें:

उदाहरण: समाधान के रूप में चिह्नित करें

git add filename.txt
6

विलय समाप्त करें

मर्ज को एक कमिट के साथ समाप्त करें (यदि Git इसे स्वचालित रूप से नहीं करता है):

उदाहरण: मर्ज समाप्त करें

git commit

विलय रद्द करें

यदि आप मर्ज को रोकना और रद्द करना चाहते हैं:

उदाहरण: मर्ज छोड़ें

git merge --abort

सीन मर्ज टूल का उपयोग करें

यदि आप चाहें, तो आप विवादों को हल करने के लिए एक विज़ुअल टूल का उपयोग कर सकते हैं:

उदाहरण: मर्जटूल का प्रयोग करें

git mergetool

किसी पृष्ठ के परिवर्तन चुनें

यदि आप केवल अपने परिवर्तन या केवल अन्य शाखा के परिवर्तन रखना चाहते हैं:

उदाहरण: हमारे परिवर्तन रखें

git checkout --ours filename.txt

उदाहरण: उनके परिवर्तन रखें

git checkout --theirs filename.txt

समस्या निवारण एवं सर्वोत्तम अभ्यास

यदि आप मुसीबत में पड़ जाएं

फिर से शुरू करेंgit merge --abortआइए इसका उपयोग करें

समाधान के रूप में चिह्नित करने से पहले

सभी परस्पर विरोधी मार्करों को हटाना सुनिश्चित करें

यदि आप डिस्प्ले टूल का उपयोग करते हैं

आपgit mergetoolयदि आपको उच्चारित करने का परिणाम पसंद नहीं है, तो आप फ़ाइलों को मैन्युअल रूप से संपादित कर सकते हैं

महत्वपूर्ण नोट

📝जस्सिफ टीम नोट

विलय संघर्ष सहयोगात्मक विकास का एक स्वाभाविक हिस्सा है। वे गलत नहीं हैं - वे दिखाते हैं कि कई लोग एक ही कोड पर काम कर रहे हैं।

मर्ज विवादों को हल करना एक कौशल है, और अभ्यास के साथ यह तेज़ और अधिक प्रभावी हो जाता है।

त्वरित संदर्भ

कृपया विलय करें

मर्ज शाखा

git merge branch-name

विसंगतियों की जाँच करें

परस्पर विरोधी फ़ाइलें

git status

सही के रूप में चिन्हित करो

फ़ाइल जोड़ें

git add filename

विलय रद्द करें

विलय छोड़ें

git merge --abort